import request from '@/utils/request'

/**
 * 用户相关API
 */
export default {
  /**
   * 获取用户列表
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getUsers(params) {
    return request({
      url: '/users',
      method: 'get',
      params
    })
  },

  /**
   * 获取用户详情
   * @param {Number|String} id - 用户ID
   * @returns {Promise}
   */
  getUser(id) {
    return request({
      url: `/users/${id}`,
      method: 'get'
    })
  },

  /**
   * 创建用户
   * @param {Object} data - 用户数据
   * @returns {Promise}
   */
  createUser(data) {
    return request({
      url: '/users',
      method: 'post',
      data
    })
  },

  /**
   * 更新用户
   * @param {Number|String} id - 用户ID
   * @param {Object} data - 用户数据
   * @returns {Promise}
   */
  updateUser(id, data) {
    return request({
      url: `/users/${id}`,
      method: 'put',
      data
    })
  },

  /**
   * 删除用户
   * @param {Number|String} id - 用户ID
   * @returns {Promise}
   */
  deleteUser(id) {
    return request({
      url: `/users/${id}`,
      method: 'delete'
    })
  },

  /**
   * 用户登录
   * @param {Object} data - 登录凭证
   * @returns {Promise}
   */
  login(data) {
    return request({
      url: '/auth/login',
      method: 'post',
      data
    })
  },

  /**
   * 用户注册
   * @param {Object} data - 注册信息
   * @returns {Promise}
   */
  register(data) {
    return request({
      url: '/auth/register',
      method: 'post',
      data
    })
  },

  /**
   * 用户退出登录
   * @returns {Promise}
   */
  logout() {
    return request({
      url: '/auth/logout',
      method: 'post'
    })
  },

  /**
   * 获取当前用户信息
   * @returns {Promise}
   */
  getCurrentUser() {
    return request({
      url: '/users/me',
      method: 'get'
    })
  },

  /**
   * 更新当前用户信息
   * @param {Object} data - 用户数据
   * @returns {Promise}
   */
  updateCurrentUser(data) {
    return request({
      url: '/users/me',
      method: 'put',
      data
    })
  },

  /**
   * 修改密码
   * @param {Object} data - 密码数据
   * @returns {Promise}
   */
  changePassword(data) {
    return request({
      url: '/users/change-password',
      method: 'post',
      data
    })
  }
} 